package com.ruoyi.sale.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.ruoyi.common.core.domain.BaseEntity;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 出库单记录主表
 * @author WangChangShuo
 * @date 2022年06月06日 14:10
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
public class OutboundOrder extends BaseEntity {
    /**
     * 主键
     */
    private Long outboundId;

    /**
     * 销货单主键
     */
    private Long saleGoodsId;

    /**
     * 打印时间
     */ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date outboundDate;

    /**
     * 税率(1 3 5 13)
     */
    private String taxRate;

    /**
     * 总金额
     */
    @JsonSerialize(using= ToStringSerializer.class)
    private Long amount;

    /**
     * 含税总金额
     */
    @JsonSerialize(using= ToStringSerializer.class)
    private BigDecimal taxamount;

    /**
     * 与从表是一对多关系
     */
    private List<OutboundModel> outboundModels;

    public String getTaxRate() {
        return taxRate;
    }



    public void setTaxRate(String taxRate) {
        this.taxRate = taxRate;
    }

    public Long getAmount() {
        return amount;
    }

    public void setAmount(Long amount) {
        this.amount = amount;
    }

    public BigDecimal getTaxamount() {
        return taxamount;
    }

    public void setTaxamount(BigDecimal taxamount) {
        this.taxamount = taxamount;
    }



    public List<OutboundModel> getOutboundModels() {
        return outboundModels;
    }

    public void setOutboundModels(List<OutboundModel> outboundModels) {
        this.outboundModels = outboundModels;
    }

    public Long getOutboundId() {
        return outboundId;
    }

    public void setOutboundId(Long outboundId) {
        this.outboundId = outboundId;
    }

    public Long getSaleGoodsId() {
        return saleGoodsId;
    }

    public void setSaleGoodsId(Long saleGoodsId) {
        this.saleGoodsId = saleGoodsId;
    }

    public Date getOutboundDate() {
        return outboundDate;
    }

    public void setOutboundDate(Date outboundDate) {
        this.outboundDate = outboundDate;
    }


}
